fn main() {

    #[derive(Debug)]
    struct Person {
        name: String,
        age: Box<u8>,
    }

    // impl Drop for Person {
    //     fn drop(&mut self) {
    //         println!("Dropping Person: {:?}", self);
    //     }
    // }
    let  person = Person {
        name: String::from("Alice"),
        age: Box::new(25),
    };
    // ref 解引用，可以用 *age 修改person中的变量
    let Person { name, ref age } = person;

    println!("Name: {}, Age: {}", name, age);

    // println!("Person struct: {:?}", person);

    println!("Person struct age: {}", person.age);

}